package org.jsola.hr.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.entity.BaseDeleteDO;
import org.jsola.core.entity.Key;

import java.math.BigDecimal;
import javax.persistence.Table;

/**
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(name = "hr_attend_punch_daily_report")
@Key(UUID = true)
public class AttendPunchDailyReportDO extends BaseDeleteDO<String> {

    private static final long serialVersionUID = 1L;

    /**
     * 考勤打卡日汇总ID
     */
    private String dailySummaryId;
    /**
     * 公司ID
     */
    private String companyId;
    /**
     * 公司名称
     */
    private String companyName;
    /**
     * 部门ID
     */
    private String deptId;
    /**
     * 部门名称
     */
    private String deptName;
    /**
     * 考勤规则ID
     */
    private String attendPlanId;
    /**
     * 员工ID
     */
    private String empInfoId;
    /**
     * 员工姓名
     */
    private String empInfoName;
    /**
     * 年
     */
    private String yearly;
    /**
     * 月
     */
    private String monthly;
    /**
     * 日
     */
    private String daily;
    /**
     * 签到地点
     */
    private String signInLocation;
    /**
     * 签退地点
     */
    private String signOutLocation;
    /**
     * 是否有外出 ; 1-是,0-否
     */
    private Integer isGoOut;
    /**
     * 外出签到地点
     */
    private String goOutLocation;
    /**
     * 外出时长(小时)
     */
    private BigDecimal goOutHours;
    /**
     * 是否使用
     */
    private Integer isUsed;
    /**
     * 考勤状态:0-缺卡,1-正常,2-异常
     */
    private Integer attendStatus;
    /**
     * 加班时长(小时)
     */
    private BigDecimal overtimeHours;
    /**
     * earliest_time
     */
    private String earliestTime;
    /**
     * 最晚打卡时间
     */
    private String latestTime;
    /**
     * 打卡次数
     */
    private Integer punchCounts;
    /**
     * 工作时长(分钟)
     */
    private Integer workTimeMinute;
    /**
     * 历史考勤状态
     */
    private Integer hisAttendStatus;
    /**
     * 加班状态;1-加班,0-未加班
     */
    private Integer overtimeStatus;
    /**
     * 迟到或早退分钟数
     */
    private Integer minutes;



}

